import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Enumeration;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 22652
 * Date: 2024-05-23
 * Time: 16:26
 */
@WebServlet("/get")
public class ShowServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html");
        StringBuilder stringBuilder=new StringBuilder();
        //返回请求协议的名称和版本。
        stringBuilder.append(req.getProtocol());
        stringBuilder.append("<br>");
        //返回请求的 HTTP 方法的名称，例如，GET、POST 或 PUT。
        stringBuilder.append(req.getMethod());
        stringBuilder.append("<br>");
        //从协议名称直到 HTTP 请求的第一行的查询字符串中，返回该请求的 URL 的一部分。
        stringBuilder.append(req.getRequestURI());
        stringBuilder.append("<br>");
        //返回指示请求上下文的请求 URI 部分。
        stringBuilder.append(req.getContextPath());
        //返回包含在路径后的请求 URL 中的查询字符串。
        stringBuilder.append(req.getQueryString());
        stringBuilder.append("<br>");
        //以字符串形式返回指定的请求头的值。
        Enumeration<String> headers = req.getHeaderNames();
        while (headers.hasMoreElements()) {
            String header = headers.nextElement();
            stringBuilder.append(header + ": " + req.getHeader(header));
            stringBuilder.append("<br>");
        }
        resp.getWriter().write(stringBuilder.toString());
    }
}
